// var fs = require('fs');
// var filedir = './';

// fs.readdir(filedir,function(err,files) {
//     var arr = [];

//     files.forEach(function(f) {
//         // console.log(f);
//         var info = fs.statSync(filedir+'/'+f);
//         // console.log(info);

//         if(info.mode == 33188) {
//             arr.push(filedir + '/'+f);
//         }
//     });
//     console.log(arr);

//     var content = '';

//     arr.forEach(function(f) {
//         var c =  fs.readFileSync(f,'utf-8');
//         // console.log(c);

//         content += c;
//     });

//     console.log(content);
//     fs.writeFile('final.txt',content,function(err) {
//         if(err) {
//             console.log(err.message);
//         }
//         console.log('保存成功');
//     });
// });
// var content = fs.readFileSync('c.txt');

//     fs.writeFile('test.txt',content,function(err) {
//         if(err) {
//             console.log(err.message);
//         }
//         console.log('保存成功');
//     });
// console.log(content);
// var express = require('express');

// var app = express();

// app.get('/',function(req,res) {
//     console.log('有客户端请求了');

//     res.setHeader('test','leo');

//     res.writeHead(200,'test',{'Content-Type':'text/html;charset=utf-8'});

//     res.write('<h1>hello</h1>');

//     res.end();
// });

// app.listen(3000);

var http = require('http');
var url = require('url');
var fs = require('fs');
var querystring = require('querystring');

var htmlDir ='./';

var server = http.createServer();

server.on('request',function(req,res) {
    // console.log(req.url);
    var urlString = url.parse(req.url);

    switch(urlString.pathname) {
        case '/':
            sendData(htmlDir + 'index.html',req,res);
            break;

        case '/user':
            sendData(htmlDir + 'user.html',req,res);
            break;
        case '/login':
            sendData(htmlDir + 'login.html',req,res);
            break;

        case '/login/check':
            // console.log(urlString);
            var param = querystring.parse(urlString.query);

            if(req.method.toUpperCase() == 'POST') {
                var str = '';
                req.on('data',function(chunk) {
                    str += chunk;
                });

                req.on('end',function() {
                    console.log(str);
                    console.log(querystring.parse(str));
                });
            }
            console.log(param);
            break;

        default:
            break;
    }
    // console.log(urlString);

});

function sendData(file,req,res) {
    fs.readFile(file,function(err,data) {
        if(err) {
            res.writeHead(404,{'Content-Type':'text/html;charset=utf-8'});
            res.end('<h1>页面被吃掉了</h1>');
        } else {
            res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
            res.end(data);
        }

    });
}

server.listen(8000,'localhost');


















// process.stdout.write('请输入内容：');

// process.stdin.resume();

// process.stdin.on('data',function(chunk) {
//     console.log(chunk.toString());
// });





// var str = 'miaov';

// console.log(new Buffer(str));

// var bf = new Buffer(5);

// bf.write(str,1);

// console.log(bf);


// var arr = [1,2,3];
// var bf = new Buffer(10);

// console.log(Buffer.isBuffer(arr));
// console.log(Buffer.isBuffer(bf));


// var str1 = 'miaov';
// // console.log(str1.length);
// // console.log(Buffer.byteLength(str1));


// var str2 = '妙味';
// // console.log(str2.length);
// // console.log(Buffer.byteLength(str2));

// var list = [new Buffer(str1),new Buffer(str2)];
// console.log(list);

// var bf = Buffer.concat(list,11);
// console.log(bf);

// var bf = new Buffer(5);
// console.log(bf);

// var bf = new Buffer([1,2,3]);

// console.log(bf);

// bf[10] = 10;
// console.log(bf);

// var bf = new Buffer('miaov','utf-8');

// console.log(bf);

// const buf1 = Buffer.from('this is a test');

// for(var i=0;i<buf1.length;i++) {
//     // console.log(buf1[i]);
//     console.log(String.fromCharCode(buf1[i]));
// }

// var str1 = 'miaov';
// var bf1 = new Buffer(str1);

// console.log(str1.length);
// console.log(bf1.length);

// var str2 = '妙味';
// var bf2 = new Buffer(str2);

// console.log(str2.length);
// console.log(bf2.length);

// console.log(buf1.toString());

// console.log(buf1.toString('ascii'));

// const buf2 = Buffer.from('7468697320697320612074c3a97374','hex');

// console.log(buf2.toString());


// var a = require('./wendang.js');

// console.log(__filename,__dirname);

// var d = new Date();
// var arr = new Array(1,2,3);

// setInterval(function() {
//     var d = new Date();
//     console.log('现在是：'+d.getFullYear()+'年'+(d.getMonth() +1)+'月'+d.getDate()+'日'+d.getHours()+":"+d.getSeconds());
// },1000);

// console.log(process == global.process);

// var num1, num2;
// /*2：向屏幕输出，提示信息，要求输入num1*/
// process.stdout.write('请输入num1的值：');
// /*3：监听用户的输入*/
// process.stdin.on('data', function (chunk) {
//     if (!num1) {
//         num1 = parseInt(chunk);
//         /*4：向屏幕输出，提示信息，要求输入num2*/
//         process.stdout.write('请输入num2的值');
//     } else {
//         num2 = parseInt(chunk);
//         process.stdout.write('结果是：' + (num1 + num2));
//     }
// });




// var express = require("express");
// var http = require('http');
// var app = express();
// const assert = require("assert");

// // var MongoClient = require('mongodb').MongoClient;
// // var DB_CONN_STR = 'mongodb://localhost:27017/test';

// // var insertData = function(db,callback) {
// //     var collection = db.collection('site');
// //     var data = [{"name":"菜鸟教程","url":"www.runoob.com"},{"name":"菜鸟工具","url":"c.runoob.com"}];

// //     collection.insert(data,function(err,result) {
// //         if(err) {
// //             console.log('Error:'+err);
// //             return;
// //         }
// //         callback(result);
// //     });
// // };

// // var selectData = function(db,callback) {
// //     var collection = db.collection('site');
// //     var whereStr = {"name":'菜鸟教程'};
// //     collection.find(whereStr).toArray(function(err,result) {
// //         if(err) {
// //             console.log('Error:'+err);
// //             return;
// //         }
// //         callback(result);
// //     });
// // };

// // MongoClient.connect(DB_CONN_STR,function(err,db) {
// //     console.log("连接成功！");
// //     selectData(db,function(result) {
// //         console.log(result);
// //         db.close();
// //     });
// // });

// // assert.deepEqual(/a/gi,new Date());
// // assert.ok(false);

// const { spawn } = require('child_process');
// const ls = spawn('ls', ['-lh', '/usr']);

// ls.stdout.on('data', (data) => {
//   console.log(`输出：${data}`);
// });

// app.set("view engine",'jade');
// app.set('views',__dirname);

// app.get('/',function(req,res) {
//     res.render("test");
// });

// var server = http.createServer(app);
// server.listen(3000);
// console.log("server started on http://127.0.0.1:3000/");

var fs = require('fs');
var path = require('path');
var http = require('http');

var MIME = {
    '.css':'text/css',
    '.js':'application/javascript'
};

// function combineFiles(pathnames,callback) {
//     var output = [];

//     pathnames.forEach(function(value,index,array) {
//         fs.readFile(pathnames[index],function(err,data) {
//             if(err) {
//                 callback(err);
//             } else {
//                 output.push(data);
//                 // next(i + 1,len);
//             }
//         });
//         callback(null,Buffer.concat(output));
//     });
// }


// function combineFiles(pathnames,callback) {
//     var output = [];

//     (function next(i,len) {
//         if(i < len) {
//             fs.readFile(pathnames[i],function(err,data) {
//                 if(err) {
//                     callback(err);
//                 } else {
//                     output.push(data);
//                     next(i + 1,len);
//                 }
//             });
//         } else {
//             callback(null,Buffer.concat(output));
//         }
//     }(0,pathnames.length));
// }

// function main(argv) {
//     var config = JSON.parse(fs.readFileSync(argv[0],'utf-8'));
//     var root = config.root || '.';
//     var port = config.port || 80;

//     http.createServer(function(request,response) {
//         var urlInfo = parseURL(root,request.url);

//         combineFiles(urlInfo.pathnames,function(err,data) {
//             if(err) {
//                 response.writeHead(404);
//                 response.end(err.message);
//             } else {
//                 response.writeHead(200,{
//                     'Content-Type':urlInfo.mime
//                 });
//                 response.end(data);
//             }
//         });
//     }).listen(port);
// }

// function parseURL(root,url) {
//     var base,pathnames,parts;

//     if(url.indexOf('??') === -1) {
//         url = url.replace('/','/??');
//     }

//     parts = url.split('??');
//     base = parts[0];
//     pathnames = parts[1].split(',').map(function(value) {
//         return path.join(root,base,value);
//     });

//     return {
//         mime:MIME[path.extname(pathnames[0])] || 'text/plain',
//         pathnames:pathnames
//     };
// }

// // main(process.argv.slice[2]);

// var files = ['a.txt','b.txt','c.txt'];

// for(var i=0;i<files.length;i++) {
//     function() {
//         fs.readFile(files[i],'utf-8',function(err,contents) {
//             console.log(i+":"+files[i]+":"+contents);
//         });
//     };
// }
    // files.forEach(function(filename) {
    //     fs.readFile(filename,'utf-8',function(err,contents) {
    //         console.log(filename+":"+contents);
    //     });
    // });





















 
